package com.nnnu.wsnackshop.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.nnnu.wsnackshop.pojo.entity.CouponUsage;

/**
 * <p>
 * 优惠券使用记录 服务类
 * </p>
 *
 * @author zk
 * @since 2025-06-24
 */
public interface ICouponUsageService extends IService<CouponUsage> {

    /**
     * 记录优惠券使用
     *
     * @param userCouponId 用户优惠券ID
     * @param userId       用户ID
     * @param couponId     优惠券ID
     * @param orderId      订单ID
     * @param orderNo      订单编号
     * @param amount       优惠金额
     * @return 是否记录成功
     */
    boolean recordUsage(Integer userCouponId, Integer userId, Integer couponId, Long orderId, String orderNo,
            java.math.BigDecimal amount);

    /**
     * 删除优惠券使用记录
     *
     * @param userId  用户ID
     * @param orderId 订单ID
     * @return 是否删除成功
     */
    boolean deleteUsageByOrderId(Integer userId, Long orderId);
}